Флаги не меняются.
Команда:
STOSW
Логика
(ES:DI) = AX if DF = 0 DI = DI + 2 else DI = DI - 2
Команда STOSW копирует слово, расположенное в AX, в место памяти, на которое указывает ES:DI, а также инкрементирует или декрементирует DI (в зависимости от состояния признака направления DF), чтобы подготовиться к копированию AX в следующее слово памяти.
Операнды | Такт байты (слова) | Обращения | Байты | Пример |
нет операндов | 15 | 1 | 1 | STOSW |
(повтор) | 9+14/rep | 1/rep | 1 | REP STOSW |
Пример.
Если команду записи в строку использовать в сочетании с префиксом REP, то такая команда будет полезна для инициализации блока памяти; следующий пример иллюстрирует инициализацию стобайтового блока памяти, расположенного по адресу BUFFER, в 0 :
MOV AL,0 ;значение,которое присваиваем ;при инициализации LEA DI,BUFFER ;загружаем стартовый адрес блока памяти MOV CX,50 ;размер блока памяти (в словах) CLD ;будем двигаться в прямом направлении REP STOSW ;сравните эту строку с ПРИМЕРом для STOS